# 1、定义两个字典，键值任意，把两个字典合并在一起，组成一个新字典
"""# 第一种方法
dict_1 = {"name":"yang","age":23}
dict_2 = {"sex":"男","address":"山东"}
for key in dict_2:
    dict_1[key] = dict_2[key]
print(dict_1)
# 第二种方法
dict_1.update(dict_2)"""

# 2、定义两个列表，将两个列表合并
"""list_1 = [10,23,"yang","沈腾"]
list_2 = [20,"马丽","开心麻花",1999,10]
list_1 += list_2
print(list_1)"""

# 3、定义一个集合，包含2，3，4，5，7元素，判断元素12在不在集合中，用分支语句打印不同结果； 判断元素3在不在集合中，打印结果
"""set_1 = {2,3,4,5,7}
if 12 in set_1:
    print("12在集合中")
else:
    print("12不在集合中")
if 3 in set_1:
    print("3在集合中")
else:
    print("3不在集合中")"""
"""set_1 = {2,3,4,5,7}
num = int(input("请输入您要判断的数字："))
if num in set_1:
    print(f"元素{num}在集合中")
else:
    print(f"元素{num}不在集合中")"""

# 4、让用户输入账号密码，去除账号密码前后无用的空格，然后判断账号是不是admin，密码是不是123456，如果都相同显示登录成功，否则显示登录失败
"""str_1 = ""
str_2 = ""
users = input("请输入您的账号：")
for i in users:
    if i != " ":
        str_1 += i
if str_1 == "admin":
    pwd = input("请输入密码:")
    for i in pwd:
        if i != " ":
            str_2 += i
    if str_2 == "123456":
        print("登录成功！！！")
    else:
        print("密码错误！！！")
else:
    print("账号错误！！！")"""

# 5、实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
"""pwd = ""
num = 3
while num >= 0:
    user = input("请输入用户名：")
    if user == "seven" or user == "alex":
        pwd = input("请输入密码：")
    if pwd == "123":
        print("登录成功！")
        break
    else:
        print(f"您还有{num}次机会")
        num -= 1"""

# 6、用程序计算100以内有多少个3的整数倍数字
"""num = 0
for i in range(1,101):
    if i % 3 == 0:
        num += 1
print(num)"""

# 7、实现判断用户输入的内容中是否有c,要求最多输入三次
"""for i in range(3):
    print(f"你有{3-i}次机会")
    result = input("请输入内容: ")
    if 'c' in result:
        print("输入内容包含字母 c ！")
        break
else:
    print("三次输入均未包含字母 c 。")"""

# 8、让用户输入个人基本信息，包括 姓名、电话、住址、年龄，通过字典保存用户的数据信息，当用户输入q的时候，结束输入
# 结束输入后，打印显示全部的用户名，并要求选择一个名称
# 然后打印输出这个用户的全部信息，输出信息的格式：用户 xxx，电话是xxx，地址是xxx，年龄是xxx
"""dict_1 = {}
dict_2 = {}
dict_3 = {}
while True:
    print("*"*15)
    print("欢迎来到客户管理系统")
    print("输入a输入信息","输入b查看信息","输入q退出：",sep = "\n")
    print("*"*15)
    key = input("输入你要选择的功能：")
    if key == "a":
        name = input("请输入姓名：")
        if name in dict_1.keys():
            print(f"姓名{name}已经存在了")
        else:
            number = input("请输入号码：")
            # dict_2["号码"] = number
            age = input("请输入年龄：")
            # dict_2["年龄"] = age
            address = input("请输入地址：")
            # dict_2["地址"] = address
            dict_1[name] = {"号码":number,"年龄":age,"地址":address}
            print("添加成功！！！")
    elif key == "b":
        print(dict_1)
        print("查看成功！")
    elif key == "q":
        break
    else:
        print("请输入正确选项！")
for i in dict_1.keys():
    print(i,end = "\t")
print()
print("-"*5,"这是一个分割线","-"*5)
result = input("请输入一个姓名查看信息：")
while True:
    if result not in dict_1.keys():
        print("姓名输入错误")
        result = input("重新输入一个姓名查看信息：")
    else:
        dict_3.update(dict_1[result])
# print(dict_3)
        print(f"用户 {result}","电话是{号码},地址是{地址},年龄是{年龄}".format(**dict_3),sep = "，")
        break"""

# 9、图书管理系统
# 支持选项，选择功能
# 图书管理系统：
# 1.添加图书
# 2.删除图书
# 3.修改图书
# 4.查询图书
# 5.显示所有图书
# 6.退出操作
# 采用列表操作的
"""list_1 = []
while True:
    print("欢迎来到图书管理系统")
    print("图书管理系统：","1.添加图书","2.删除图书","3.修改图书","4.查询图书","5.显示所有图书","6.退出操作",sep = "\n")
    key = int(input("输入功能对应的选项："))
    if key == 1:# 1.添加图书
        name = input("请输入要添加的图书：")
        if name not in list_1:
            list_1.append(name)
            print("添加成功！")
        else:
            print("该图书已存在！")
    elif key == 2:# 2.删除图书
        name = input("请输入要删除的图书：")
        if name in list_1:
            list_1.remove(name)
            print("删除成功！")
        else:
            print("该图书不存在！")
    elif key == 3:# 3.修改图书
        name_old = input("请输入要修改的图书")
        if name_old in list_1:
            name_new = input("请输入修改后的图书")
            index_1 = list_1.index(name_old)
            list_1[index_1] = name_new
        else:
            print("该图书不存在")
    elif key == 4:# 4.查询图书
        name = input("请输入要查询的图书：")
        print(f"该图书的索引是：{list_1.index(name)}")
    elif key == 5:# 5.显示所有图书
        print(list_1)
    elif key == 6:# 6.退出操作
        print("感谢您的使用！")
        break"""

# 10、预设一个 0~9 之间的整数，让用户猜一猜并输入所猜的数，如果大于预设的数，显示“太大” ；小于预设的数，显示“太小” ，如此循环，直至猜中该数，显示“恭喜！你猜中了！ ”（使用random模块）
"""import random
str_1 = "0123456789"
num_1 = random.choice(str_1)
while True:
    num = input("请输入0-9之间的一个数字：")
    # num_1 = random.choice(str_1)
    if num > num_1:
        print("太大")
    elif num < num_1:
        print("太小")
    else:
        print("恭喜！你猜中了！")
        break"""

# 11、用户分别从键盘输入4个整数和3个整数组成两个列表list1和list2，将列表list2合并到list1中，并在list1末尾再添加两个数字90和100，然后对list1降序排列，最后输出最终的列表list1
"""list_1 = []
list_2 = []
for i in range(4):
    a1 = int(input(f"请输入四个整数，这是第{i+1}个："))
    list_1.append(a1)
print(list_1)
for i in range(3):
    a2 = int(input(f"请输入三个整数，这是第{i+1}个："))
    list_2.append(a2)
for i in list_2:
    list_1.append(i)
list_1.append(90)
list_1.append(100)
print(sorted(list_1,reverse=True))
"""
# 12、最后一个单词的长度
# 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
# 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串
"""str_1 =""
str_1 = input("输入由字母和空格组成的字符串:") #"name age complex mash english"
str_2 = str_1[::-1]
str_3 = ""
# print(str_2)
for i in str_2:
    if i != " ":
        str_3 += i
    else:
        break
print(str_3[::-1])
print(len(str_3))"""

# 13、编写一个程序，要求用户输入一个字符串，并将其反转输出
"""str_1 = ""
str_1 = input("输入一个字符串：")
print(str_1[::-1])"""

# 14、编写一个程序，要求用户输入一个整数，判断它是奇数还是偶数，并输出结果
"""num_1 = int(input("输入一个整数："))
if num_1 % 2 == 0:
    print(f"{num_1}一个偶数")
else:
    print(f"{num_1}是一个奇数")"""

# 15、编写一个程序，计算并输出 1 到 100 之间所有能被 7 整除但不能被 5 整除的数的和
"""list_1 = []
for i in range(1,101):
    if i % 7 == 0 and i % 5 != 0:
        list_1.append(i)
print(sum(list_1))"""

# 16、输入任意三个数，用if语句编写求出其中最小值的程序
"""list_1 = []
for i in range(3):
    num = int(input(f"输入数字{i+1}："))
    list_1.append(num)
num_1 = list_1[0]  # 这是一个放最小值的变量
for i in list_1:
    if i <= num_1:
        num_1 = i
print(num_1)"""

# 17、todo:两数之和
# 给定一个整数数组 nums和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那两个整数，并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案
"""target = int(input("请你输入一个整数："))
list_1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
list_2 = []
num = 0
for x in list_1:
    for y in list_1:
        if x + y == target:
            if list_1.index(x) != list_1.index(y):
                print(x,y,f"索引是：{list_1.index(x)},{list_1.index(y)}")
                num += 1
    if num == 1:
        break"""

# 18、listinfo = [133, 88, 24, 33, 232, 44, 11, 44]，取出列表小于100，且为偶数的数
"""list_1 = []
listinfo = [133, 88, 24, 33, 232, 44, 11, 44]
for i in listinfo:
    if i < 100 and i % 2 == 0:
        list_1.append(i)
print(list_1)"""

# 19、从键盘上输入任意一个整数，输出这个整数是几位数
"""str_1 = ""
num = 0
str_1 = input("请输入任意整数：")
for i in str_1:
    num += 1
print(f"这个数是{num}位数")"""

# 20、定义一个字典包含“name”、“age”两个key，对应的值为“韩梅梅”, 33，
#  将“name”对应的value值改为“韩涛”
# 添加新的键“sex”，值为“男”
#  将“age”键值对删除
# dict_1 = {"name":"韩梅梅","age":33}
"""print(dict_1)
dict_1["name"] = "韩涛"
print(dict_1)"""
"""dict_1["sex"] = "男"
print(dict_1)"""
"""del dict_1["age"]
print(dict_1)"""

# 21、编写程序，定义一个列表，通过索引打印出列表中第2个值，删除列表中的第3值
# 1. 通过索引打印出列表中第2个值
# list_1 = [1,2,3,4,5,7,8,9,0,11,12,13,14,15]
"""print(list_1[1])"""
# 2. 删除列表中的第3值
"""list_1.pop(2)
print((list_1))"""